package cn.darkhorse.device.vo;

import cn.darkhorse.device.pojo.MesRepairWorkload;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 维修单维修数据
 */
@Data
public class MesRepairVO {
    @ApiModelProperty("维修单ID")
    @NotNull(message = "维修单ID不能为空！")
    private Long id;
    @ApiModelProperty("实际班组名称")
    private String realTeamName;

    @ApiModelProperty("实际是否停机 0：否1：是")
    private Integer realIsStop;

    @ApiModelProperty("故障原因")
    private Integer malfunctionReason;

    @ApiModelProperty("维修级别")
    private Integer repairLevel;

    @ApiModelProperty("维修类别")
    private Integer repairType;

    @ApiModelProperty("停机小时")
    private Integer stopHour;

    @ApiModelProperty("停机分钟")
    private Integer stopMinute;

    @ApiModelProperty("维修开始时间")
    @NotNull(message ="维修开始时间不能为空！" )
    private LocalDateTime repairStartTime;

    @ApiModelProperty("维修结束时间")
    @NotNull(message ="维修结束时间不能为空！" )
    private LocalDateTime repairEndTime;

    @ApiModelProperty("维修小时")
    private Integer repairHour;

    @ApiModelProperty("维修分钟")
    private Integer repairMinute;

    @ApiModelProperty("维修描述")
    private String repairDescription;

    @ApiModelProperty("维修费用")
    private BigDecimal repairCost;

    @ApiModelProperty("是否更换配件（0：否1：是）")
    @NotNull(message ="是否更换配件不能为空！" )
    private Integer applyStatus;
    @ApiModelProperty("附件")
    private String attachments;
    @ApiModelProperty("音频附件")
    private String mediaAttachments;

    @ApiModelProperty("是否修复 0:否1：是")
    private Integer isFixed;
    @ApiModelProperty("工作量")
    private List<MesRepairWorkload> workloadList;

    @ApiModelProperty("故障类别 0：机械故障1：电气故障")
    private Long malfunctionType;

    @ApiModelProperty("故障等级 0：紧急1：一般2：其他")
    private Integer malfunctionLevel;


    @ApiModelProperty("设备处置")
    private Integer disposal;

    @ApiModelProperty("验证描述/外委原因")
    private String reason;
}
